![]() |
![]() |
![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
To access the contents, click the chapter and section titles.
Oracle Performance Tuning and Optimization
Hardware EnhancementsFor a DSS system, there are several hardware enhancements that can improve performance. These hardware enhancements can be beneficial in the area of CPU, I/O, and network, as described in the following sections. CPU Enhancements Enhancing the CPUs on your SMP or MPP system can provide instantaneous performance improvements, assuming that you are not I/O bound. The speed of CPUs is constantly being improved as are new and better cache designs. For SMP or MPP machines, the process of enhancing the CPU may be as simple as adding an additional CPU board. Before you purchase an additional processor of the same type and speed, however, consider upgrading to a faster processor. For example, upgrading from a 66 MHz processor to a 133 MHz processor may provide more benefit than purchasing an additional 66 MHz CPUwith the added benefit that you now have the option of adding more 133 MHz CPUs. This determination is usually made by budgetary constraints. Because the DSS can take advantage of the Parallel Query option, adding processors will help performance as will adding a faster CPU. SMP and MPP computers provide scaleable CPU performance enhancements at a fraction of the cost of another computer. When upgrading your processors or adding additional processors, remember that your I/O and memory needs will probably increase along with the CPU performance. Be sure to budget for more memory and disk drives when you add processors. I/O Enhancements You can enhance I/O by adding disk drives or purchasing a hardware disk array. DSS systems can benefit from the disk striping available in both hardware and software disk arrays. Using Oracle data file striping can also help the performance of the DSS system. If your system performs only one query at a time and you are not taking advantage of the Oracle Parallel Query option, you may not see a benefit from a hardware or software disk array. In this specific case, I do not recommend OS or hardware striping; you should use traditional Oracle striping. Because you are executing only one query at a time without using the Parallel Query option, the I/Os to the data files are purely sequential on the table scans. This scenario is somewhat rare; any variance from pure table scans results in degraded performance. Hardware and software disk arrays have the added benefit of optional fault tolerance. As described in Chapter 15, Disk Arrays, each of the fault-tolerant RAID levels has its advantages and disadvantages. You should first choose the correct fault tolerance for your needs and then make sure that you have sufficient I/O capabilities to achieve the required performance level. If you use fault tolerance, you will most likely have to increase the number of disk drives in your system.
Another benefit of hardware disk arrays is caching. Most disk arrays on the market today offer some type of write or read/write cache on the controller. The effect of this cache is to improve the speed of writing to the disk; the cache also masks the overhead associated with fault tolerance. If your queries often perform table scans, you may see improved performance with disk controllers that take advantage of read-ahead features. Read-ahead occurs when the controller detects a sequential access and reads an entire track (or some other large amount of data) and caches the additional data in anticipation of a request from the OS. Unlike an OLTP system in which this is just wasted overhead, in the DSS system, it is likely that you will need that data soon; if you do, it will be available very quickly.
Enhancements to the I/O subsystem almost always help in a DSS environment because large amounts of data are read. Be sure that you have a sufficient number of disk drives, properly configured. An I/O bottleneck is usually difficult to work around. As with all types of systems, a well-tuned application is very important. Network Enhancements Networks are usually not a problem in a DSS system. However, because the data used in your DSS may be extracted from the OLTP systems in your company, you may have some network issues. By synchronizing the OLTP and DSS systems during off hours and using large block transfers, you may be able to avoid network traffic issues. If necessary, you may want to install a private link between the DSS system and the OLTP systems that provide data. If you decide to do this, try to get the latest technologysuch as 100 megabit Ethernetto provide for future expansion.
Performance VerificationOnce you design and build your system, you must have some way of verifying its performance. Verifying a DSS environment is much easier than verifying an OLTP system because you do not have to simulate large numbers of users. The simplest method is to test the system using production queries on a test database. By saving the test database and using the same queries on the same data, you can make direct comparisons when you change tuning parameters or upgrade the system. A good documented test plan allows you not only to verify system performance but to try new things, such as the Parallel Query option, direct-write sorts, or some other new feature you may want to implement in the future. The following sections look at what should be tested in the RDBMS and the operating system.
|
![]() |
Products | Contact Us | About Us | Privacy | Ad Info | Home
Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc. All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited. |